package sort.t912;

import java.util.Arrays;

/**
 * @Author xingyu Xue
 * @Date 2024/2/1 9:53
 *
 * 排序数组
 * 给你一个整数数组 nums，请你将该数组升序排列。
 * 这个题当然可以使用排序API直接返回，淡然没什么意义
 *
 * 这道题，你使用有些算法的话，会超时如冒泡排序。
 *
 *
 *
 *
 *
 *
 */
public class t912 {

    public  static int[] sortArray(int[] nums) { //选择排序
//        Arrays.sort();
        for (int i = 0; i < nums.length; i++) {
            int min = i;
            for (int j = i + 1; j < nums.length; j++) {
                if (nums[j] < nums[min]) {
                    min = j;
                }
            }
            if (min != i) {
                int temp = nums[i];
                nums[i] = nums[min];
                nums[min] = temp;
            }
        }
        return nums;

    }

    //冒泡排序
    public static int[] sortArray2(int[] nums) {
        //冒泡排序
        for (int i = 0; i < nums.length; i++) {
            for (int j = 0; j < nums.length - 1 - i; j++) {
                if (nums[j] > nums[j + 1]) {
                    int temp = nums[j];
                    nums[j] = nums[j + 1];
                    nums[j + 1] = temp;
                }
            }
        }
        return nums;
    }

    public static void main(String[] args) {
        System.out.println(Arrays.toString(sortArray2(new int[]{5, 1, 1, 2, 0, 0})));
        System.out.println(Arrays.toString(sortArray2(new int[]{5,2,3,1})));
    }

}
